In medium to large enterprise settings, it is increasingly more common to perform customized installations and/or configurations of one or more software applications onto both new and existing computer systems. With few exceptions, the target systems of such installations and configurations are hardware and/or software heterogeneous.
Although this process is largely repetitive in nature, few tools exist to aid system administrators in this type of mass installation and/or configuration. This is especially true when the target systems are already in use. In other words, they are not brand-new, blank installations.
Therefore, systems administrators are often left to manually analyze, customize, and install. These administrators determine which software is needed to perform a desired task. They determine the custom configuration and then manually install the desired software with the customized configuration.
As the scale of a mass installation and configuration increases, this manual and ad hoc approach becomes increasingly cost-ineffective. To compensate, a system administrator may employ one of the conventional automation tools available.
Conventional Automated Installers
Two existing types of automated installers exist. One type employs a “scripted-response” and the other type employs “compiled” software. To some degree, each type automates otherwise redundant manual tasks. However, each type has significant drawbacks that limit their effectiveness.
Scripted-Response Automated Installers
This type of installer offers a script of responses for a specific installation and configuration process that would otherwise be interactive. These scripts are simply answers to an expected and specific set of queries during the installation of a specific software application. Frequently, these scripts are generated by recording an exemplary installation and configuration session. The resulting recorded script is expected to be played back at a later installation.
Example of this type of installer includes the installer for Microsoft Windows®95. More generally, this is often called “INF” automated installs.
Since it is a series of specific responses to an expected set of queries, it is inherently incapable to adjust. Therefore, it can only be employed with identical target computer systems. In other words, a given script may only be used with a group of computer systems having total homogeneity. That means that each target system must have identical hardware and software specifications. Any variation amongst the target systems and the scripted-response installer fails.
Furthermore, modifying such scripts are, at best, difficult. A slight modification in the installation process requires a creation of a new script. Consequently, the scripts cannot be modified at “runtime”; rather, these scripts must be redeveloped to be modified. Herein, “runtime” for the installer is when the installation or configuration of the computer system actually occurs.
Moreover, these types of scripted-responses are typically employed for the installation of a single application on a computer system.
Compiled Automated Installers
This type of installer is effectively a compiled application that is developed specifically for the installation and/or configuration of a specific application.
Example of this type includes InstallShield®.
Since it is a compiled program, it may be capable of some programmed adjustments. Therefore, it can only be employed with in an expected set of known target computer systems. In other words, a given compiled installer may be used with only a group of computer systems having limited heterogeneity. That means that the hardware and software specifications of each target system may only vary within a defined range of variance. Any variation outside that defined range and the compiled installer fails.
Furthermore, these compiled installers cannot be customized at runtime. By its nature, the installer must be recompiled for further customization. Therefore, a slight modification in the installation process requires a recompilation of the original installation script. Consequently, compiled installers cannot be modified at “runtime”; rather, it must be redeveloped to be modified.
Moreover, these types of compiled installers are typically employed for the installation of a single application on a computer system.